<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // "use strict"
        // use sctrict 就是严格模式，不会支持一些不规范的语法
        // 1. 使调试更简单
        // 2. 变量赋值之前需要声明，防止意外的全局变量
        function fun(){
            a = 10;//如果你把上面的"use sctrict"注释解开，就会报错了
        }
        fun();
        console.log(window.a);//10(如果你把上面的"use sctrict"注释掉)

        // 3. 取消this的强制转换
        var age = 20;
        function fun2(){
            console.log(this.age);
        }
        fun2.call(null);//一般来说，如果你给call这种方法传个null，那么this会指向window，但是如果使用了严格模式，则会禁止指向window

        // 4. 不允许函数参数重名
        function fun3(a,b,a){//如果不使用严格模式，后面的a会覆盖前面的。使用了严格模式则会报错

        }
    </script>
</body>
</html>